package com.novel.entiy.dto;

import com.baomidou.mybatisplus.annotation.*;
import com.novel.entiy.Comment;
import com.novel.utils.BeanConverter;
import com.novel.utils.ConverterUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author chihuo
 * @date 2022/4/5
 */
@ApiModel(value="评论参数")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CommentDTO implements BeanConverter<Comment>, Serializable {
    @ApiModelProperty(value = "")
    private Long id;

    /**
     * 评论内容
     */
    @ApiModelProperty(value = "评论内容")
    private String commentContent;

    /**
     * 小说id
     */
    @ApiModelProperty(value = "小说id")
    private Long novelId;

    /**
     * 父评论id（0为父评论,其他为回复评论）
     */
    @ApiModelProperty(value = "父评论id（0为父评论,其他为回复评论）")
    private Long commentParentId;

    /**
     * 回复的评论id(可能回复评论 也可能回复评论的回复）
     */
    @ApiModelProperty(value = "回复的评论id(可能回复评论 也可能回复评论的回复）")
    private Long commentReplyId;

    /**
     * 回复的评论用户名称
     */
    @ApiModelProperty(value = "回复的评论用户名称")
    private String commentReplyUserName;

    /**
     * 回复的评论用户id
     */
    @ApiModelProperty(value = "回复的评论用户id")
    private Long commentReplyUserId;

    /**
     * 0:评论 1:回复
     */
    @ApiModelProperty(value = "0:评论 1:回复")
    private Integer commentType;


    /**
     * 转换接口方法
     *
     * @return T
     */
    @Override
    public Comment doForward() {
        Comment comment = new Comment();
        ConverterUtil.copyPropertiesIgnoreNull(this,comment);
        return comment;
    }
}